《高性能網(wǎng)站建設指南》閱讀筆記_規(guī)則7- 避免CSS表達式
發(fā)布時間:2013-11-22 瀏覽:388打印字號:大中小
http://stevesouders.com/hpws/rule-expr.php
CSS表達式是動態(tài)設置CSS屬性的一種強大但很危險的方式,因為:
1.CSS表達式用于動態(tài)設置CSS屬性,它只受到IE 5及以后版本的支持。
2. 禁用CSS表達式,因為它幾乎在觸發(fā)各種事件時都會被調(diào)用。
3. 有的時候,CSS表達式也會影響頁面的加載時間。
任何css表達式實現(xiàn)的功能我們都可以找到它的替代方式,比如事件處理器等。
就是時間觸發(fā)的時候才會執(zhí)行,比如設置一個頁面的最小寬度數(shù)600像素,IE不支持min-width屬性,所以在IE中使用CSS表達式。width:expression(document.body.clientWidth<600?"600px":"auto");
min-width:600px;)優(yōu)化成只有window.onresize觸發(fā)時才執(zhí)行
CSS表達式(示例):
background-color: expression( (new Date()).getSeconds()%2 ?"red":"blue" );
詳細實例:
注意:禁用CSS表達式,因為它幾乎在觸發(fā)各種事件時都會被調(diào)用。
改進:(一次性表達式)
在調(diào)用JS代碼后,JS代碼重寫了其background-color屬性,所以只會執(zhí)行一次。


